package com.niiwoo.civet.mobile.vo.response.invest;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * Created by HuangMin on 2018/8/30.
 */
@Data
@ApiModel("PC端投资订单-回款详情响应VO")
public class ReceivableDetailResponseVO{

    @ApiModelProperty(value = "投资订单id", required = true)
    private Long investOrderId;

    @ApiModelProperty(value = "标的ID", required = true)
    private Long projectId;

    @ApiModelProperty(value = "标的名称", required = true)
    private String title;

    @ApiModelProperty(value = "预期年化利率", required = true)
    private BigDecimal borrowRate;

    @ApiModelProperty(value = "还款方式（1到期还本息，2等额本息，3按月还息，到期还本）", required = true)
    private Byte repaymentType;

    @ApiModelProperty(value = "还款期限", required = true)
    private Integer deadline;

    @ApiModelProperty(value = "借款期限单位-1月，2天", required = true)
    private Byte deadlineUnit;

    @ApiModelProperty(value = "回款详情", required = true)
    private List<ReceivableList> list;

    @Data
    @ApiModel("回款详情")
    public static class ReceivableList {

        @ApiModelProperty(value = "本金", required = true)
        private BigDecimal capital;

        @ApiModelProperty(value = "利息", required = true)
        private BigDecimal interest;

        @ApiModelProperty(value = "奖励", required = true)
        private BigDecimal reward;

        @ApiModelProperty(value = "当前期数", required = true)
        private Integer currentPeriod;

        @ApiModelProperty(value = "回款日期", required = true)
        private Date receiveDate;

        @ApiModelProperty(value = "回款状态：1已回款，2待回款", required = true)
        private Byte receivedStatus;
    }

}
